<template>
    <div id="app">
        <router-view />
    </div>
</template>

<script>
    import Base from '@/api/base';
    import wx from 'weixin-js-sdk';
    import utils from '@/utils/weixin';

    export default {
        name: 'app',
        created() {
            // 检查用户是否进行微信授权
            this.checkUserAuth();
        },
        mounted() {

        },
        data() {
            return {
                // 微信给我们返回的code码
                code: '',
                wx: {
                    appid: 'wxe716b884581ea9ac'
                }
            };
        },
        methods: {
            // 检查用户是否授权过
            checkUserAuth() {
                /** let openId = this.$cookie.get('openId');
                if (!openId) {
                    window.location.href = Base.wechatRedirect;
                } else {
                    // 获取微信配置信息
                    // this.getWechatConfig();
                } */
                // 非静默授权，第一次有弹层
                this.code = '';
                let url = window.location.href;
                this.code = this.getUrlCode().code;
                console.log('我获取到的this.code', this.code);
                // 如果没有code，则去请求
                if (this.code == '' || this.code == null || this.code == undefined) {
                    window.location.href =
                    `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${this.wx.appid}&redirect_uri=${encodeURIComponent(url)}&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect`;
                } else {
                    // 自己要写的业务逻辑
                }
            },
            // 截取前端url中的code方法
            getUrlCode() {
                let url = window.location.search;
                let obj = {};
                if (url.indexOf("?") != -1) {
                    let str = url.substr(1);
                    let strs = str.split("&");
                    for (let i = 0; i < strs.length; i++) {
                        obj[strs[i].split("=")[0]] = (strs[i].split("=")[1]);
                    }
                }

                return obj;
            },
            // 获取微信配置信息
            async getWechatConfig() {
                let res = await this.$axios.wechat.getWechatConfigHandle({
                    params: {
                        // 获取配置信息的同时，将url传递到后端，要进行签名使用的(去除hash部分)
                        url: window.location.href.split('#')[0]
                    }
                });

                if (res.status == 200) {
                    wx.config({
                        /**
                         * 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，
                         * 仅在 pc端时才会打印
                         */
                        debug: true, 
                        // 必填，公众号的唯一标识
                        appId: res.data.appId,
                        // 必填，生成签名的时间戳
                        timestamp: res.data.timestamp,
                        // 必填，生成签名的随机串
                        nonceStr: res.data.nonceStr,
                        // 必填，签名
                        signature: res.data.signature,
                        // 必填，需要使用的JS接口列表
                        jsApiList: res.data.jsApiList
                    });

                    wx.ready(() => {
                        utils.initShareInfo(wx);
                    });
                }
            }
        },
        watch: {

        },
        components: {

        }
    };

</script>

<style lang="scss">
    #app {
        height: 100%;
    }

</style>
